<?php
class VideosController extends AppController {
    var $name = 'Videos';
    var $helpers = array('Html','Form','Accessibility');
    
    function index() {
		$title = 'Visualizar Lista de Videos';
		$this->set('title', $title);
		$this->set('pageTitle', $title);
		$organization=$this->othAuth->getData('organization');
		$conditions = array();
		$conditions = array('organization_id' => $organization['id']);
		$video = $this->Video->find ('all', array("conditions"=>$conditions));
		$this->set('video', $video);
    }
    
    function edit($id) {
		$title = 'Editar Video';
		$this->set('title', $title);
		$this->set('pageTitle', $title);
		
		$video = $this->Video->find (array('id' =>$id));
		$this->set('video', $video);
    }
    
    function view($id = null) {
		$title = 'Visualizar Video';
		$this->set('title', $title);
		$this->set('pageTitle', $title);
		
		$video = $this->Video->find (array('id' =>$id));
		$this->set('video', $video);
    }
    
    function add($id = null) {
		$title = 'Adicionar Videos a Lista';
		$this->set('title', $title);
		$this->set('pageTitle', $title);
		
		if (!empty($this->data)) {
		    $organizationUser = $this->othAuth->getData('unit');
		    $this->data['Video']['organization_id'] = $organizationUser['0']['Organization']['id'];
		    $this->data['Video']['id']=$id;
		    
		    if($this->data["Video"]["name"]  == null) {
				$_SESSION['mensagem']['error'][] = 'O campo Nome é obrigatório.';
		    }
		    if($this->data["Video"]["url"]  == null) {
				$_SESSION['mensagem']['error'][] = 'O campo URL do YouTube é obrigatório.';
		    }
		    
		    if($this->data["Video"]["description"]  == null) {
				$_SESSION['mensagem']['error'][] = 'O campo Descrição é obrigatório.';
		    }
	
			$video_id = "";
		    
			$params = split('\?', $this->data["Video"]["url"]);
			
			$a = explode('&', $params[1]);
			$i = 0;
			while ($i < count($a)) {
				$b = split('=', $a[$i]);
				if (urldecode($b[0]) == 'v')
					$video_id = $b[1];
				$i++;
			}
			
			App::import('Xml');
		
			$yt_xml = file_get_contents("http://gdata.youtube.com/feeds/api/videos/".$video_id, FILE_TEXT);
			
			if ($yt_xml == FALSE) {
				$_SESSION['mensagem']['error'][] = 'A URL informada não é válida.';
			} else {
				$parsed_xml =& new XML($yt_xml);
		    	$parsed_xml = Set::reverse($parsed_xml);
	
				$this->data["Video"]["idvideo"] = $video_id;
				
				$this->data["Video"]["title"] = $parsed_xml['Entry']['title']['value'];
				$this->data["Video"]["content"] = $parsed_xml['Entry']['content']['value'];
				$this->data["Video"]["thumbnail"] = $parsed_xml['Entry']['Group']['Thumbnail']['0']['url'];
				$this->data["Video"]["duration"] = $parsed_xml['Entry']['Group']['Duration']['seconds'];				
			}
			
			if (isset($_SESSION['mensagem']['error'])) {
				return;
		    }
		    
		    if ($this->Video->save($this->data)) {
				$_SESSION['mensagem']['success'][] = 'Vídeo cadastrada com sucesso!';
		    } else {
				$_SESSION['mensagem']['error'][] = 'Erro ao tentar cadastrar Video.';
		    }
		    $this->redirect('/videos/index/');
		}
    }
    
    function delete($id) {
		if (!$id) $this->redirect('/videos/index');

		$this->Video->id = $id;
		if ($this->Video->del($id)) {
			$_SESSION['mensagem']['success'][] = 'Vídeo excluído com sucesso!';
		} else {
			$_SESSION['mensagem']['error'][] = 'Erro ao tentar excluir o Vídeo.';
		}
		$this->redirect('/videos/index/');
    }
}
